/*!
 * jQuery UI 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c, j) {
	function k(a) {
		return ! c(a).parents().andSelf().filter(function() {
			return c.curCSS(this, "visibility") === "hidden" || c.expr.filters.hidden(this)
		}).length
	}
	c.ui = c.ui || {};
	if (!c.ui.version) {
		c.extend(c.ui, {
			version: "1.8.11",
			keyCode: {
				ALT: 18,
				BACKSPACE: 8,
				CAPS_LOCK: 20,
				COMMA: 188,
				COMMAND: 91,
				COMMAND_LEFT: 91,
				COMMAND_RIGHT: 93,
				CONTROL: 17,
				DELETE: 46,
				DOWN: 40,
				END: 35,
				ENTER: 13,
				ESCAPE: 27,
				HOME: 36,
				INSERT: 45,
				LEFT: 37,
				MENU: 93,
				NUMPAD_ADD: 107,
				NUMPAD_DECIMAL: 110,
				NUMPAD_DIVIDE: 111,
				NUMPAD_ENTER: 108,
				NUMPAD_MULTIPLY: 106,
				NUMPAD_SUBTRACT: 109,
				PAGE_DOWN: 34,
				PAGE_UP: 33,
				PERIOD: 190,
				RIGHT: 39,
				SHIFT: 16,
				SPACE: 32,
				TAB: 9,
				UP: 38,
				WINDOWS: 91
			}
		});
		c.fn.extend({
			_focus: c.fn.focus,
			focus: function(a, b) {
				return typeof a === "number" ? this.each(function() {
					var d = this;
					setTimeout(function() {
						c(d).focus();
						b && b.call(d)
					},
					a)
				}) : this._focus.apply(this, arguments)
			},
			scrollParent: function() {
				var a;
				a = c.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function() {
					return /(relative|absolute|fixed)/.test(c.curCSS(this, "position", 1)) && /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
				}).eq(0) : this.parents().filter(function() {
					return /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
				}).eq(0);
				return /fixed/.test(this.css("position")) || !a.length ? c(document) : a
			},
			zIndex: function(a) {
				if (a !== j) return this.css("zIndex", a);
				if (this.length) {
					a = c(this[0]);
					for (var b; a.length && a[0] !== document;) {
						b = a.css("position");
						if (b === "absolute" || b === "relative" || b === "fixed") {
							b = parseInt(a.css("zIndex"), 10);
							if (!isNaN(b) && b !== 0) return b
						}
						a = a.parent()
					}
				}
				return 0
			},
			disableSelection: function() {
				return this.bind((c.support.selectstart ? "selectstart": "mousedown") + ".ui-disableSelection",
				function(a) {
					a.preventDefault()
				})
			},
			enableSelection: function() {
				return this.unbind(".ui-disableSelection")
			}
		});
		c.each(["Width", "Height"],
		function(a, b) {
			function d(f, g, l, m) {
				c.each(e,
				function() {
					g -= parseFloat(c.curCSS(f, "padding" + this, true)) || 0;
					if (l) g -= parseFloat(c.curCSS(f, "border" + this + "Width", true)) || 0;
					if (m) g -= parseFloat(c.curCSS(f, "margin" + this, true)) || 0
				});
				return g
			}
			var e = b === "Width" ? ["Left", "Right"] : ["Top", "Bottom"],
			h = b.toLowerCase(),
			i = {
				innerWidth: c.fn.innerWidth,
				innerHeight: c.fn.innerHeight,
				outerWidth: c.fn.outerWidth,
				outerHeight: c.fn.outerHeight
			};
			c.fn["inner" + b] = function(f) {
				if (f === j) return i["inner" + b].call(this);
				return this.each(function() {
					c(this).css(h, d(this, f) + "px")
				})
			};
			c.fn["outer" + b] = function(f, g) {
				if (typeof f !== "number") return i["outer" + b].call(this, f);
				return this.each(function() {
					c(this).css(h, d(this, f, true, g) + "px")
				})
			}
		});
		c.extend(c.expr[":"], {
			data: function(a, b, d) {
				return !! c.data(a, d[3])
			},
			focusable: function(a) {
				var b = a.nodeName.toLowerCase(),
				d = c.attr(a, "tabindex");
				if ("area" === b) {
					b = a.parentNode;
					d = b.name;
					if (!a.href || !d || b.nodeName.toLowerCase() !== "map") return false;
					a = c("img[usemap=#" + d + "]")[0];
					return !! a && k(a)
				}
				return (/input|select|textarea|button|object/.test(b) ? !a.disabled: "a" == b ? a.href || !isNaN(d) : !isNaN(d)) && k(a)
			},
			tabbable: function(a) {
				var b = c.attr(a, "tabindex");
				return (isNaN(b) || b >= 0) && c(a).is(":focusable")
			}
		});
		c(function() {
			var a = document.body,
			b = a.appendChild(b = document.createElement("div"));
			c.extend(b.style, {
				minHeight: "100px",
				height: "auto",
				padding: 0,
				borderWidth: 0
			});
			c.support.minHeight = b.offsetHeight === 100;
			c.support.selectstart = "onselectstart" in b;
			a.removeChild(b).style.display = "none"
		});
		c.extend(c.ui, {
			plugin: {
				add: function(a, b, d) {
					a = c.ui[a].prototype;
					for (var e in d) {
						a.plugins[e] = a.plugins[e] || [];
						a.plugins[e].push([b, d[e]])
					}
				},
				call: function(a, b, d) {
					if ((b = a.plugins[b]) && a.element[0].parentNode) for (var e = 0; e < b.length; e++) a.options[b[e][0]] && b[e][1].apply(a.element, d)
				}
			},
			contains: function(a, b) {
				return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b)
			},
			hasScroll: function(a, b) {
				if (c(a).css("overflow") === "hidden") return false;
				b = b && b === "left" ? "scrollLeft": "scrollTop";
				var d = false;
				if (a[b] > 0) return true;
				a[b] = 1;
				d = a[b] > 0;
				a[b] = 0;
				return d
			},
			isOverAxis: function(a, b, d) {
				return a > b && a < b + d
			},
			isOver: function(a, b, d, e, h, i) {
				return c.ui.isOverAxis(a, d, h) && c.ui.isOverAxis(b, e, i)
			}
		})
	}
})(jQuery);;
/*!
 * jQuery UI Widget 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b, j) {
	if (b.cleanData) {
		var k = b.cleanData;
		b.cleanData = function(a) {
			for (var c = 0,
			d; (d = a[c]) != null; c++) b(d).triggerHandler("remove");
			k(a)
		}
	} else {
		var l = b.fn.remove;
		b.fn.remove = function(a, c) {
			return this.each(function() {
				if (!c) if (!a || b.filter(a, [this]).length) b("*", this).add([this]).each(function() {
					b(this).triggerHandler("remove")
				});
				return l.call(b(this), a, c)
			})
		}
	}
	b.widget = function(a, c, d) {
		var e = a.split(".")[0],
		f;
		a = a.split(".")[1];
		f = e + "-" + a;
		if (!d) {
			d = c;
			c = b.Widget
		}
		b.expr[":"][f] = function(h) {
			return !! b.data(h, a)
		};
		b[e] = b[e] || {};
		b[e][a] = function(h, g) {
			arguments.length && this._createWidget(h, g)
		};
		c = new c;
		c.options = b.extend(true, {},
		c.options);
		b[e][a].prototype = b.extend(true, c, {
			namespace: e,
			widgetName: a,
			widgetEventPrefix: b[e][a].prototype.widgetEventPrefix || a,
			widgetBaseClass: f
		},
		d);
		b.widget.bridge(a, b[e][a])
	};
	b.widget.bridge = function(a, c) {
		b.fn[a] = function(d) {
			var e = typeof d === "string",
			f = Array.prototype.slice.call(arguments, 1),
			h = this;
			d = !e && f.length ? b.extend.apply(null, [true, d].concat(f)) : d;
			if (e && d.charAt(0) === "_") return h;
			e ? this.each(function() {
				var g = b.data(this, a),
				i = g && b.isFunction(g[d]) ? g[d].apply(g, f) : g;
				if (i !== g && i !== j) {
					h = i;
					return false
				}
			}) : this.each(function() {
				var g = b.data(this, a);
				g ? g.option(d || {})._init() : b.data(this, a, new c(d, this))
			});
			return h
		}
	};
	b.Widget = function(a, c) {
		arguments.length && this._createWidget(a, c)
	};
	b.Widget.prototype = {
		widgetName: "widget",
		widgetEventPrefix: "",
		options: {
			disabled: false
		},
		_createWidget: function(a, c) {
			b.data(c, this.widgetName, this);
			this.element = b(c);
			this.options = b.extend(true, {},
			this.options, this._getCreateOptions(), a);
			var d = this;
			this.element.bind("remove." + this.widgetName,
			function() {
				d.destroy()
			});
			this._create();
			this._trigger("create");
			this._init()
		},
		_getCreateOptions: function() {
			return b.metadata && b.metadata.get(this.element[0])[this.widgetName]
		},
		_create: function() {},
		_init: function() {},
		destroy: function() {
			this.element.unbind("." + this.widgetName).removeData(this.widgetName);
			this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled")
		},
		widget: function() {
			return this.element
		},
		option: function(a, c) {
			var d = a;
			if (arguments.length === 0) return b.extend({},
			this.options);
			if (typeof a === "string") {
				if (c === j) return this.options[a];
				d = {};
				d[a] = c
			}
			this._setOptions(d);
			return this
		},
		_setOptions: function(a) {
			var c = this;
			b.each(a,
			function(d, e) {
				c._setOption(d, e)
			});
			return this
		},
		_setOption: function(a, c) {
			this.options[a] = c;
			if (a === "disabled") this.widget()[c ? "addClass": "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", c);
			return this
		},
		enable: function() {
			return this._setOption("disabled", false)
		},
		disable: function() {
			return this._setOption("disabled", true)
		},
		_trigger: function(a, c, d) {
			var e = this.options[a];
			c = b.Event(c);
			c.type = (a === this.widgetEventPrefix ? a: this.widgetEventPrefix + a).toLowerCase();
			d = d || {};
			if (c.originalEvent) {
				a = b.event.props.length;
				for (var f; a;) {
					f = b.event.props[--a];
					c[f] = c.originalEvent[f]
				}
			}
			this.element.trigger(c, d);
			return ! (b.isFunction(e) && e.call(this.element[0], c, d) === false || c.isDefaultPrevented())
		}
	}
})(jQuery);;
/*!
 * jQuery UI Mouse 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Mouse
 *
 * Depends:
 *	jquery.ui.widget.js
 */
(function(b) {
	b.widget("ui.mouse", {
		options: {
			cancel: ":input,option",
			distance: 1,
			delay: 0
		},
		_mouseInit: function() {
			var a = this;
			this.element.bind("mousedown." + this.widgetName,
			function(c) {
				return a._mouseDown(c)
			}).bind("click." + this.widgetName,
			function(c) {
				if (true === b.data(c.target, a.widgetName + ".preventClickEvent")) {
					b.removeData(c.target, a.widgetName + ".preventClickEvent");
					c.stopImmediatePropagation();
					return false
				}
			});
			this.started = false
		},
		_mouseDestroy: function() {
			this.element.unbind("." + this.widgetName)
		},
		_mouseDown: function(a) {
			a.originalEvent = a.originalEvent || {};
			if (!a.originalEvent.mouseHandled) {
				this._mouseStarted && this._mouseUp(a);
				this._mouseDownEvent = a;
				var c = this,
				e = a.which == 1,
				f = typeof this.options.cancel == "string" ? b(a.target).parents().add(a.target).filter(this.options.cancel).length: false;
				if (!e || f || !this._mouseCapture(a)) return true;
				this.mouseDelayMet = !this.options.delay;
				if (!this.mouseDelayMet) this._mouseDelayTimer = setTimeout(function() {
					c.mouseDelayMet = true
				},
				this.options.delay);
				if (this._mouseDistanceMet(a) && this._mouseDelayMet(a)) {
					this._mouseStarted = this._mouseStart(a) !== false;
					if (!this._mouseStarted) {
						a.preventDefault();
						return true
					}
				}
				true === b.data(a.target, this.widgetName + ".preventClickEvent") && b.removeData(a.target, this.widgetName + ".preventClickEvent");
				this._mouseMoveDelegate = function(d) {
					return c._mouseMove(d)
				};
				this._mouseUpDelegate = function(d) {
					return c._mouseUp(d)
				};
				b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate);
				a.preventDefault();
				return a.originalEvent.mouseHandled = true
			}
		},
		_mouseMove: function(a) {
			if (b.browser.msie && !(document.documentMode >= 9) && !a.button) return this._mouseUp(a);
			if (this._mouseStarted) {
				this._mouseDrag(a);
				return a.preventDefault()
			}
			if (this._mouseDistanceMet(a) && this._mouseDelayMet(a))(this._mouseStarted = this._mouseStart(this._mouseDownEvent, a) !== false) ? this._mouseDrag(a) : this._mouseUp(a);
			return ! this._mouseStarted
		},
		_mouseUp: function(a) {
			b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
			if (this._mouseStarted) {
				this._mouseStarted = false;
				a.target == this._mouseDownEvent.target && b.data(a.target, this.widgetName + ".preventClickEvent", true);
				this._mouseStop(a)
			}
			return false
		},
		_mouseDistanceMet: function(a) {
			return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance
		},
		_mouseDelayMet: function() {
			return this.mouseDelayMet
		},
		_mouseStart: function() {},
		_mouseDrag: function() {},
		_mouseStop: function() {},
		_mouseCapture: function() {
			return true
		}
	})
})(jQuery);;
/*
 * jQuery UI Slider 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(d) {
	d.widget("ui.slider", d.ui.mouse, {
		widgetEventPrefix: "slide",
		options: {
			animate: false,
			distance: 0,
			max: 100,
			min: 0,
			orientation: "horizontal",
			range: false,
			step: 1,
			value: 0,
			values: null
		},
		_create: function() {
			var b = this,
			a = this.options;
			this._mouseSliding = this._keySliding = false;
			this._animateOff = true;
			this._handleIndex = null;
			this._detectOrientation();
			this._mouseInit();
			this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all");
			a.disabled && this.element.addClass("ui-slider-disabled ui-disabled");
			this.range = d([]);
			if (a.range) {
				if (a.range === true) {
					this.range = d("<div></div>");
					if (!a.values) a.values = [this._valueMin(), this._valueMin()];
					if (a.values.length && a.values.length !== 2) a.values = [a.values[0], a.values[0]]
				} else this.range = d("<div></div>");
				this.range.appendTo(this.element).addClass("ui-slider-range");
				if (a.range === "min" || a.range === "max") this.range.addClass("ui-slider-range-" + a.range);
				this.range.addClass("ui-widget-header")
			}
			d(".ui-slider-handle", this.element).length === 0 && d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
			if (a.values && a.values.length) for (; d(".ui-slider-handle", this.element).length < a.values.length;) d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
			this.handles = d(".ui-slider-handle", this.element).addClass("ui-state-default ui-corner-all");
			this.handle = this.handles.eq(0);
			this.handles.add(this.range).filter("a").click(function(c) {
				c.preventDefault()
			}).hover(function() {
				a.disabled || d(this).addClass("ui-state-hover")
			},
			function() {
				d(this).removeClass("ui-state-hover")
			}).focus(function() {
				if (a.disabled) d(this).blur();
				else {
					d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");
					d(this).addClass("ui-state-focus")
				}
			}).blur(function() {
				d(this).removeClass("ui-state-focus")
			});
			this.handles.each(function(c) {
				d(this).data("index.ui-slider-handle", c)
			});
			this.handles.keydown(function(c) {
				var e = true,
				f = d(this).data("index.ui-slider-handle"),
				h,
				g,
				i;
				if (!b.options.disabled) {
					switch (c.keyCode) {
					case d.ui.keyCode.HOME:
					case d.ui.keyCode.END:
					case d.ui.keyCode.PAGE_UP:
					case d.ui.keyCode.PAGE_DOWN:
					case d.ui.keyCode.UP:
					case d.ui.keyCode.RIGHT:
					case d.ui.keyCode.DOWN:
					case d.ui.keyCode.LEFT:
						e = false;
						if (!b._keySliding) {
							b._keySliding = true;
							d(this).addClass("ui-state-active");
							h = b._start(c, f);
							if (h === false) return
						}
						break
					}
					i = b.options.step;
					h = b.options.values && b.options.values.length ? (g = b.values(f)) : (g = b.value());
					switch (c.keyCode) {
					case d.ui.keyCode.HOME:
						g = b._valueMin();
						break;
					case d.ui.keyCode.END:
						g = b._valueMax();
						break;
					case d.ui.keyCode.PAGE_UP:
						g = b._trimAlignValue(h + (b._valueMax() - b._valueMin()) / 5);
						break;
					case d.ui.keyCode.PAGE_DOWN:
						g = b._trimAlignValue(h - (b._valueMax() - b._valueMin()) / 5);
						break;
					case d.ui.keyCode.UP:
					case d.ui.keyCode.RIGHT:
						if (h === b._valueMax()) return;
						g = b._trimAlignValue(h + i);
						break;
					case d.ui.keyCode.DOWN:
					case d.ui.keyCode.LEFT:
						if (h === b._valueMin()) return;
						g = b._trimAlignValue(h - i);
						break
					}
					b._slide(c, f, g);
					return e
				}
			}).keyup(function(c) {
				var e = d(this).data("index.ui-slider-handle");
				if (b._keySliding) {
					b._keySliding = false;
					b._stop(c, e);
					b._change(c, e);
					d(this).removeClass("ui-state-active")
				}
			});
			this._refreshValue();
			this._animateOff = false
		},
		destroy: function() {
			this.handles.remove();
			this.range.remove();
			this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
			this._mouseDestroy();
			return this
		},
		_mouseCapture: function(b) {
			var a = this.options,
			c, e, f, h, g;
			if (a.disabled) return false;
			this.elementSize = {
				width: this.element.outerWidth(),
				height: this.element.outerHeight()
			};
			this.elementOffset = this.element.offset();
			c = this._normValueFromMouse({
				x: b.pageX,
				y: b.pageY
			});
			e = this._valueMax() - this._valueMin() + 1;
			h = this;
			this.handles.each(function(i) {
				var j = Math.abs(c - h.values(i));
				if (e > j) {
					e = j;
					f = d(this);
					g = i
				}
			});
			if (a.range === true && this.values(1) === a.min) {
				g += 1;
				f = d(this.handles[g])
			}
			if (this._start(b, g) === false) return false;
			this._mouseSliding = true;
			h._handleIndex = g;
			f.addClass("ui-state-active").focus();
			a = f.offset();
			this._clickOffset = !d(b.target).parents().andSelf().is(".ui-slider-handle") ? {
				left: 0,
				top: 0
			}: {
				left: b.pageX - a.left - f.width() / 2,
				top: b.pageY - a.top - f.height() / 2 - (parseInt(f.css("borderTopWidth"), 10) || 0) - (parseInt(f.css("borderBottomWidth"), 10) || 0) + (parseInt(f.css("marginTop"), 10) || 0)
			};
			this.handles.hasClass("ui-state-hover") || this._slide(b, g, c);
			return this._animateOff = true
		},
		_mouseStart: function() {
			return true
		},
		_mouseDrag: function(b) {
			var a = this._normValueFromMouse({
				x: b.pageX,
				y: b.pageY
			});
			this._slide(b, this._handleIndex, a);
			return false
		},
		_mouseStop: function(b) {
			this.handles.removeClass("ui-state-active");
			this._mouseSliding = false;
			this._stop(b, this._handleIndex);
			this._change(b, this._handleIndex);
			this._clickOffset = this._handleIndex = null;
			return this._animateOff = false
		},
		_detectOrientation: function() {
			this.orientation = this.options.orientation === "vertical" ? "vertical": "horizontal"
		},
		_normValueFromMouse: function(b) {
			var a;
			if (this.orientation === "horizontal") {
				a = this.elementSize.width;
				b = b.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left: 0)
			} else {
				a = this.elementSize.height;
				b = b.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top: 0)
			}
			a = b / a;
			if (a > 1) a = 1;
			if (a < 0) a = 0;
			if (this.orientation === "vertical") a = 1 - a;
			b = this._valueMax() - this._valueMin();
			return this._trimAlignValue(this._valueMin() + a * b)
		},
		_start: function(b, a) {
			var c = {
				handle: this.handles[a],
				value: this.value()
			};
			if (this.options.values && this.options.values.length) {
				c.value = this.values(a);
				c.values = this.values()
			}
			return this._trigger("start", b, c)
		},
		_slide: function(b, a, c) {
			var e;
			if (this.options.values && this.options.values.length) {
				e = this.values(a ? 0 : 1);
				if (this.options.values.length === 2 && this.options.range === true && (a === 0 && c > e || a === 1 && c < e)) c = e;
				if (c !== this.values(a)) {
					e = this.values();
					e[a] = c;
					b = this._trigger("slide", b, {
						handle: this.handles[a],
						value: c,
						values: e
					});
					this.values(a ? 0 : 1);
					b !== false && this.values(a, c, true)
				}
			} else if (c !== this.value()) {
				b = this._trigger("slide", b, {
					handle: this.handles[a],
					value: c
				});
				b !== false && this.value(c)
			}
		},
		_stop: function(b, a) {
			var c = {
				handle: this.handles[a],
				value: this.value()
			};
			if (this.options.values && this.options.values.length) {
				c.value = this.values(a);
				c.values = this.values()
			}
			this._trigger("stop", b, c)
		},
		_change: function(b, a) {
			if (!this._keySliding && !this._mouseSliding) {
				var c = {
					handle: this.handles[a],
					value: this.value()
				};
				if (this.options.values && this.options.values.length) {
					c.value = this.values(a);
					c.values = this.values()
				}
				this._trigger("change", b, c)
			}
		},
		value: function(b) {
			if (arguments.length) {
				this.options.value = this._trimAlignValue(b);
				this._refreshValue();
				this._change(null, 0)
			}
			return this._value()
		},
		values: function(b, a) {
			var c, e, f;
			if (arguments.length > 1) {
				this.options.values[b] = this._trimAlignValue(a);
				this._refreshValue();
				this._change(null, b)
			}
			if (arguments.length) if (d.isArray(arguments[0])) {
				c = this.options.values;
				e = arguments[0];
				for (f = 0; f < c.length; f += 1) {
					c[f] = this._trimAlignValue(e[f]);
					this._change(null, f)
				}
				this._refreshValue()
			} else return this.options.values && this.options.values.length ? this._values(b) : this.value();
			else return this._values()
		},
		_setOption: function(b, a) {
			var c, e = 0;
			if (d.isArray(this.options.values)) e = this.options.values.length;
			d.Widget.prototype._setOption.apply(this, arguments);
			switch (b) {
			case "disabled":
				if (a) {
					this.handles.filter(".ui-state-focus").blur();
					this.handles.removeClass("ui-state-hover");
					this.handles.attr("disabled", "disabled");
					this.element.addClass("ui-disabled")
				} else {
					this.handles.removeAttr("disabled");
					this.element.removeClass("ui-disabled")
				}
				break;
			case "orientation":
				this._detectOrientation();
				this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation);
				this._refreshValue();
				break;
			case "value":
				this._animateOff = true;
				this._refreshValue();
				this._change(null, 0);
				this._animateOff = false;
				break;
			case "values":
				this._animateOff = true;
				this._refreshValue();
				for (c = 0; c < e; c += 1) this._change(null, c);
				this._animateOff = false;
				break
			}
		},
		_value: function() {
			var b = this.options.value;
			return b = this._trimAlignValue(b)
		},
		_values: function(b) {
			var a, c;
			if (arguments.length) {
				a = this.options.values[b];
				return a = this._trimAlignValue(a)
			} else {
				a = this.options.values.slice();
				for (c = 0; c < a.length; c += 1) a[c] = this._trimAlignValue(a[c]);
				return a
			}
		},
		_trimAlignValue: function(b) {
			if (b <= this._valueMin()) return this._valueMin();
			if (b >= this._valueMax()) return this._valueMax();
			var a = this.options.step > 0 ? this.options.step: 1,
			c = (b - this._valueMin()) % a;
			alignValue = b - c;
			if (Math.abs(c) * 2 >= a) alignValue += c > 0 ? a: -a;
			return parseFloat(alignValue.toFixed(5))
		},
		_valueMin: function() {
			return this.options.min
		},
		_valueMax: function() {
			return this.options.max
		},
		_refreshValue: function() {
			var b = this.options.range,
			a = this.options,
			c = this,
			e = !this._animateOff ? a.animate: false,
			f,
			h = {},
			g,
			i,
			j,
			l;
			if (this.options.values && this.options.values.length) this.handles.each(function(k) {
				f = (c.values(k) - c._valueMin()) / (c._valueMax() - c._valueMin()) * 100;
				h[c.orientation === "horizontal" ? "left": "bottom"] = f + "%";
				d(this).stop(1, 1)[e ? "animate": "css"](h, a.animate);
				if (c.options.range === true) if (c.orientation === "horizontal") {
					if (k === 0) c.range.stop(1, 1)[e ? "animate": "css"]({
						left: f + "%"
					},
					a.animate);
					if (k === 1) c.range[e ? "animate": "css"]({
						width: f - g + "%"
					},
					{
						queue: false,
						duration: a.animate
					})
				} else {
					if (k === 0) c.range.stop(1, 1)[e ? "animate": "css"]({
						bottom: f + "%"
					},
					a.animate);
					if (k === 1) c.range[e ? "animate": "css"]({
						height: f - g + "%"
					},
					{
						queue: false,
						duration: a.animate
					})
				}
				g = f
			});
			else {
				i = this.value();
				j = this._valueMin();
				l = this._valueMax();
				f = l !== j ? (i - j) / (l - j) * 100 : 0;
				h[c.orientation === "horizontal" ? "left": "bottom"] = f + "%";
				this.handle.stop(1, 1)[e ? "animate": "css"](h, a.animate);
				if (b === "min" && this.orientation === "horizontal") this.range.stop(1, 1)[e ? "animate": "css"]({
					width: f + "%"
				},
				a.animate);
				if (b === "max" && this.orientation === "horizontal") this.range[e ? "animate": "css"]({
					width: 100 - f + "%"
				},
				{
					queue: false,
					duration: a.animate
				});
				if (b === "min" && this.orientation === "vertical") this.range.stop(1, 1)[e ? "animate": "css"]({
					height: f + "%"
				},
				a.animate);
				if (b === "max" && this.orientation === "vertical") this.range[e ? "animate": "css"]({
					height: 100 - f + "%"
				},
				{
					queue: false,
					duration: a.animate
				})
			}
		}
	});
	d.extend(d.ui.slider, {
		version: "1.8.11"
	})
})(jQuery);;